//实现一种算法，找出单向链表中倒数第 k 个节点。返回该节点的值。 
//
// 注意：本题相对原题稍作改动 
//
// 示例： 
//
// 输入： 1->2->3->4->5 和 k = 2
//输出： 4 
//
// 说明： 
//
// 给定的 k 保证是有效的。 
// Related Topics 链表 双指针 
// 👍 46 👎 0


//leetcode submit region begin(Prohibit modification and deletion)
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int kthToLast(ListNode head, int k) {
        ListNode end = head;
        if (k==0 || head == null){
            return 0;
        }
        if (head.next==null){
            return head.val;
        }
        int length=0;
        while(end!=null){
            length++;
            end = end.next;
        }
        if (k>length){
            return 0;
        }
        if (k == length){
            return head.val;
        }
        end =head;
        for (int i = 1; i < length-k+1; i++) {
            end = end.next;
        }
        return  end.val;
    }
}
//leetcode submit region end(Prohibit modification and deletion)
